perm filename COMT.PAL[HAL,HE]6 blob
sn#178865 filedate 1975-10-02 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00005 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 Test of condition monitors
C00004 00003 SMALL TEST OF ARITHMETIC
C00006 00004 Test of graph structure: calculators
C00009 00005 Test of graph structure: changers
C00010 ENDMK
C⊗;
; Test of condition monitors
XPRINT
L45 ;Say hello
XCMMAK
20 ;CM at 20
L30 ;Code at L30 for c-m
XMVAR ;
10 ;X
12 ;y
0
XPUSH ;X ← L41
L41
XCHNGE
10
XPUSH ;Y ← L41.5 (= 0)
L41.5
XCHNGE
12
XCMENB ;Enable checker
20
L32: XGTVAL ;X ← X - 1
10 ;
XCOPY ;
0
XPRNTS ;Say what X is
XPUSH ;
L43 ;Push 1
XSSUB ;Subtract
XCHNGE ;
10 ;
XGTVAL ;
12 ;Y=0?
XJUMPC ;
2 ;
L32 ;If so, loop
XCMDEST ;else get rid of checker
20 ;
0
XTERMINATE;and go away
L30: XCMSKED ;Checker body
XPRINT ;Say "."
L46 ;
XGTVAL ;X≤0?
10 ;
XJUMPC ;
7 ;if GT then jump
L30 ;
XCMTRIG ;Yes. trigger
XPRINT
L44 ;Say "zero"
XPUSH ;
L41 ;SET Y ← 10.0
XCHNGE ;
12 ;
XJUMP ;
L30 ;
;data area
L41: 41040 ;10.0
0
L41.5: 0 ;0.0
0
L42: ASCIE </
DECREMENTING/>
L43: 40200 ;1.0
0
L44: ASCIE </
ZERO/>
L45: ASCIE </
TEST OF CONDITION CHECKERS
/>
L46: ASCIE </./>
; SMALL TEST OF ARITHMETIC
COMMENT ⊗ Save the following for another time.
L1: XMVAR
10 ;X
12 ;Y
14 ;Z
16 ;W
0
XPUSH ;X ← L103
L103
XCHNGE
10
XPUSH ;Y ← L105
L105
XCHNGE
12
XPUSH ;Z ← L107
L107
XCHNGE
14
XGTVAL ;W ← X . Y . Z
10
XGTVAL
12
XGTVAL
14
L2: XVMAKE
XCHNGE
16
XPRINT ;
A1 ;
XVARPRN ;
16 ;W
XTERMINATE
L103: ;VECTOR(44.5, 44.5, 44.5, 2)
41462
0
41462
0
41462
0
40400
0
L105: ;VECTOR(10, 10, 10, 1)
41040
0
41040
0
41040
0
40200
0
L107: ;VECTOR(20, 20, 20, 1)
41240
0
41240
0
41240
0
40200
0
A1: ASCIE /W = /
⊗ end of commented out portion
; Test of graph structure: calculators
COMMENT ⊗
XMVAR
20 ;X
22 ;Y
24 ;Z
26 ;W
0 ;
XPUSH ;X ← 1
L1 ;
XCHNGE ;
20 ;
XPUSH ;Y ← 1
L1 ;
XCHNGE ;
22 ;
XMCLC ;Z <= X + Y
24 ;
L10 ;code
20 ;neededs
22 ;
0 ;
XMCLC ;W <= X + Y
26 ;
L10 ;code
20 ;neededs
22 ;
0 ;
XMCLC ;W <= Z
26 ;
L11 ;code
24 ;neededs
0 ;
XBREAK ;
XGTVAL ;Print W
26 ;
XPRNTS ;
XKVAR ;
20 ;
0 ;
XBREAK ;
XKVAR ;
22 ;
24 ;
26 ;
0 ;
XTERMINATE
L10: XGTVAL ;X
20 ;
XGTVAL ;Y
22 ;
XSADD ;+
XENDCLC ;
L11: XGTVAL ;Z
24 ;
XENDCLC ;
L1: 40200 ;1
0
⊗
; Test of graph structure: changers
COMMENT ⊗
XMVAR
20 ;X
22 ;Y
24 ;Z
26 ;W
0 ;
XPUSH ;X ← 1
L1 ;
XCHNGE ;
20 ;
XPUSH ;Y ← 1
L1 ;
XCHNGE ;
22 ;
XMCHG ;WHEN CHANGE X DO [Z ← NEW-OLD; PRINT Z]
20 ;
L10 ;code
XMCHG ;WHEN CHANGE Z DO [PRINT Z]
24 ;
L11 ;code
XPUSH ;X ← 10
L2 ;
XCHNGE ;
20 ;
XTERMINATE
L10: XGTNEW ;
XGTOLD ;
XSSUB ;-
XCOPY ;
0
XVALPRN ;
XCHNGE ;
24 ;Z
XTERMINATE
L11: XGTVAL ;
24 ;Z
XPRNTS ;
XTERMINATE
L1: 40200 ;1
0
L2: 41040 ;=10
0
⊗